<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MDF Lib: mdf::ISampleReduction Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="utillib.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">MDF Lib<span id="projectnumber">&#160;2.2</span>
   </div>
   <div id="projectbrief">Interface against MDF 3/4 files</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search',false);
  $(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacemdf.html">mdf</a></li><li class="navelem"><a class="el" href="classmdf_1_1_i_sample_reduction.html">ISampleReduction</a></li>  </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classmdf_1_1_i_sample_reduction-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">mdf::ISampleReduction Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
</div><!--header-->
<div class="contents">

<p>Defines an interface to a sample reduction (SR) block.  
 <a href="#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="isamplereduction_8h_source.html">isamplereduction.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mdf::ISampleReduction:</div>
<div class="dyncontent">
<div class="center"><img src="classmdf_1_1_i_sample_reduction__inherit__graph.png" border="0" usemap="#amdf_1_1_i_sample_reduction_inherit__map" alt="Inheritance graph"/></div>
<map name="amdf_1_1_i_sample_reduction_inherit__map" id="amdf_1_1_i_sample_reduction_inherit__map">
<area shape="rect" title="Defines an interface to a sample reduction (SR) block." alt="" coords="5,79,161,104"/>
<area shape="rect" href="classmdf_1_1_i_block.html" title="Base class for all MDF blocks." alt="" coords="40,5,127,31"/>
<area shape="poly" title=" " alt="" coords="86,44,86,79,81,79,81,44"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for mdf::ISampleReduction:</div>
<div class="dyncontent">
<div class="center"><img src="classmdf_1_1_i_sample_reduction__coll__graph.png" border="0" usemap="#amdf_1_1_i_sample_reduction_coll__map" alt="Collaboration graph"/></div>
<map name="amdf_1_1_i_sample_reduction_coll__map" id="amdf_1_1_i_sample_reduction_coll__map">
<area shape="rect" title="Defines an interface to a sample reduction (SR) block." alt="" coords="5,79,161,104"/>
<area shape="rect" href="classmdf_1_1_i_block.html" title="Base class for all MDF blocks." alt="" coords="40,5,127,31"/>
<area shape="poly" title=" " alt="" coords="86,44,86,79,81,79,81,44"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a09a8bbaffb52181fd4c2d96653afd30b" id="r_a09a8bbaffb52181fd4c2d96653afd30b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a09a8bbaffb52181fd4c2d96653afd30b">NofSamples</a> (uint64_t nof_samples)=0</td></tr>
<tr class="memdesc:a09a8bbaffb52181fd4c2d96653afd30b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets number of samples in the block.  <br /></td></tr>
<tr class="separator:a09a8bbaffb52181fd4c2d96653afd30b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5177be7def3af47757e4af5c9f77211" id="r_ac5177be7def3af47757e4af5c9f77211"><td class="memItemLeft" align="right" valign="top">virtual uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac5177be7def3af47757e4af5c9f77211">NofSamples</a> () const =0</td></tr>
<tr class="memdesc:ac5177be7def3af47757e4af5c9f77211"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns number of samples.  <br /></td></tr>
<tr class="separator:ac5177be7def3af47757e4af5c9f77211"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59a41419de103742d10d9998b1c18dd4" id="r_a59a41419de103742d10d9998b1c18dd4"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a59a41419de103742d10d9998b1c18dd4">Interval</a> (double interval)=0</td></tr>
<tr class="memdesc:a59a41419de103742d10d9998b1c18dd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the interval value.  <br /></td></tr>
<tr class="separator:a59a41419de103742d10d9998b1c18dd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50aa827624b8bb999b75dc1001bafba8" id="r_a50aa827624b8bb999b75dc1001bafba8"><td class="memItemLeft" align="right" valign="top">virtual double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a50aa827624b8bb999b75dc1001bafba8">Interval</a> () const =0</td></tr>
<tr class="memdesc:a50aa827624b8bb999b75dc1001bafba8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the interval value.  <br /></td></tr>
<tr class="separator:a50aa827624b8bb999b75dc1001bafba8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fa99a6b5443e4b0f4369767e97399f2" id="r_a8fa99a6b5443e4b0f4369767e97399f2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8fa99a6b5443e4b0f4369767e97399f2">SyncType</a> (<a class="el" href="namespacemdf.html#aec7305e223ebad2eeff01cf4f7f9baa5">SrSyncType</a> type)</td></tr>
<tr class="memdesc:a8fa99a6b5443e4b0f4369767e97399f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Synchronization type. Example Time or number of samples.  <br /></td></tr>
<tr class="separator:a8fa99a6b5443e4b0f4369767e97399f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a4f00f0c29f33bd1381a333ac6fcad5" id="r_a9a4f00f0c29f33bd1381a333ac6fcad5"><td class="memItemLeft" align="right" valign="top"><a id="a9a4f00f0c29f33bd1381a333ac6fcad5" name="a9a4f00f0c29f33bd1381a333ac6fcad5"></a>
virtual <a class="el" href="namespacemdf.html#aec7305e223ebad2eeff01cf4f7f9baa5">SrSyncType</a>&#160;</td><td class="memItemRight" valign="bottom"><b>SyncType</b> () const</td></tr>
<tr class="memdesc:a9a4f00f0c29f33bd1381a333ac6fcad5"><td class="mdescLeft">&#160;</td><td class="mdescRight">return type of synchronization. <br /></td></tr>
<tr class="separator:a9a4f00f0c29f33bd1381a333ac6fcad5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c54951f15442eda975c0304eca23f1b" id="r_a4c54951f15442eda975c0304eca23f1b"><td class="memItemLeft" align="right" valign="top"><a id="a4c54951f15442eda975c0304eca23f1b" name="a4c54951f15442eda975c0304eca23f1b"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Flags</b> (uint8_t flags)</td></tr>
<tr class="memdesc:a4c54951f15442eda975c0304eca23f1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets SR flags. <br /></td></tr>
<tr class="separator:a4c54951f15442eda975c0304eca23f1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50f898e809cea384a5e003a8705e4e5a" id="r_a50f898e809cea384a5e003a8705e4e5a"><td class="memItemLeft" align="right" valign="top"><a id="a50f898e809cea384a5e003a8705e4e5a" name="a50f898e809cea384a5e003a8705e4e5a"></a>
virtual uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>Flags</b> () const</td></tr>
<tr class="memdesc:a50f898e809cea384a5e003a8705e4e5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the SR flags. <br /></td></tr>
<tr class="separator:a50f898e809cea384a5e003a8705e4e5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9de7d2fdc4b269acd6662404a8fe47a7" id="r_a9de7d2fdc4b269acd6662404a8fe47a7"><td class="memItemLeft" align="right" valign="top"><a id="a9de7d2fdc4b269acd6662404a8fe47a7" name="a9de7d2fdc4b269acd6662404a8fe47a7"></a>
virtual const <a class="el" href="classmdf_1_1_i_channel_group.html">IChannelGroup</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>ChannelGroup</b> () const =0</td></tr>
<tr class="memdesc:a9de7d2fdc4b269acd6662404a8fe47a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns its channel group. <br /></td></tr>
<tr class="separator:a9de7d2fdc4b269acd6662404a8fe47a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf7597e6a9c10138e56549d991b48fa5" id="r_abf7597e6a9c10138e56549d991b48fa5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:abf7597e6a9c10138e56549d991b48fa5"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#abf7597e6a9c10138e56549d991b48fa5">GetChannelValue</a> (const <a class="el" href="classmdf_1_1_i_channel.html">IChannel</a> &amp;channel, uint64_t sample, uint64_t array_index, <a class="el" href="structmdf_1_1_sr_value.html">SrValue</a>&lt; T &gt; &amp;value) const</td></tr>
<tr class="memdesc:abf7597e6a9c10138e56549d991b48fa5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the channel value for a specific sample.  <br /></td></tr>
<tr class="separator:abf7597e6a9c10138e56549d991b48fa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf263125c3d92baa2b0331eccfe64a05" id="r_aaf263125c3d92baa2b0331eccfe64a05"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:aaf263125c3d92baa2b0331eccfe64a05"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#aaf263125c3d92baa2b0331eccfe64a05">GetEngValue</a> (const <a class="el" href="classmdf_1_1_i_channel.html">IChannel</a> &amp;channel, uint64_t sample, uint64_t array_index, <a class="el" href="structmdf_1_1_sr_value.html">SrValue</a>&lt; T &gt; &amp;value) const</td></tr>
<tr class="memdesc:aaf263125c3d92baa2b0331eccfe64a05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the scaled SR value.  <br /></td></tr>
<tr class="separator:aaf263125c3d92baa2b0331eccfe64a05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8617afc4d8cb8d133169a8f32613774f" id="r_a8617afc4d8cb8d133169a8f32613774f"><td class="memItemLeft" align="right" valign="top"><a id="a8617afc4d8cb8d133169a8f32613774f" name="a8617afc4d8cb8d133169a8f32613774f"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearData</b> ()=0</td></tr>
<tr class="memdesc:a8617afc4d8cb8d133169a8f32613774f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the internal SR data bytes. <br /></td></tr>
<tr class="separator:a8617afc4d8cb8d133169a8f32613774f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedd20118dfeb5a190c2850766037e95d" id="r_aedd20118dfeb5a190c2850766037e95d"><td class="memItemLeft" align="right" valign="top"><a id="aedd20118dfeb5a190c2850766037e95d" name="aedd20118dfeb5a190c2850766037e95d"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:aedd20118dfeb5a190c2850766037e95d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GetChannelValue</b> (const <a class="el" href="classmdf_1_1_i_channel.html">IChannel</a> &amp;channel, uint64_t sample, uint64_t array_index, <a class="el" href="structmdf_1_1_sr_value.html">SrValue</a>&lt; std::string &gt; &amp;value) const</td></tr>
<tr class="memdesc:aedd20118dfeb5a190c2850766037e95d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialized function that return an unsigned value. <br /></td></tr>
<tr class="separator:aedd20118dfeb5a190c2850766037e95d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1acf27c26dd00eac6ff7ed13f2b7a326" id="r_a1acf27c26dd00eac6ff7ed13f2b7a326"><td class="memItemLeft" align="right" valign="top"><a id="a1acf27c26dd00eac6ff7ed13f2b7a326" name="a1acf27c26dd00eac6ff7ed13f2b7a326"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:a1acf27c26dd00eac6ff7ed13f2b7a326"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>GetEngValue</b> (const <a class="el" href="classmdf_1_1_i_channel.html">IChannel</a> &amp;channel, uint64_t sample, uint64_t array_index, <a class="el" href="structmdf_1_1_sr_value.html">SrValue</a>&lt; std::string &gt; &amp;value) const</td></tr>
<tr class="memdesc:a1acf27c26dd00eac6ff7ed13f2b7a326"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialized function that returns SR values as strings. <br /></td></tr>
<tr class="separator:a1acf27c26dd00eac6ff7ed13f2b7a326"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classmdf_1_1_i_block"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classmdf_1_1_i_block')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmdf_1_1_i_block.html">mdf::IBlock</a></td></tr>
<tr class="memitem:ae457ca0b12e381f3a8239a6b34750a71 inherit pub_methods_classmdf_1_1_i_block" id="r_ae457ca0b12e381f3a8239a6b34750a71"><td class="memItemLeft" align="right" valign="top">
virtual&#160;</td><td class="memItemRight" valign="bottom"><b>~IBlock</b> ()=default</td></tr>
<tr class="memdesc:ae457ca0b12e381f3a8239a6b34750a71 inherit pub_methods_classmdf_1_1_i_block"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default destructor. <br /></td></tr>
<tr class="separator:ae457ca0b12e381f3a8239a6b34750a71 inherit pub_methods_classmdf_1_1_i_block"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d4238fc723d16ccd8e010d098d4f45f inherit pub_methods_classmdf_1_1_i_block" id="r_a1d4238fc723d16ccd8e010d098d4f45f"><td class="memItemLeft" align="right" valign="top">virtual int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmdf_1_1_i_block.html#a1d4238fc723d16ccd8e010d098d4f45f">Index</a> () const =0</td></tr>
<tr class="memdesc:a1d4238fc723d16ccd8e010d098d4f45f inherit pub_methods_classmdf_1_1_i_block"><td class="mdescLeft">&#160;</td><td class="mdescRight">File position within the file.  <br /></td></tr>
<tr class="separator:a1d4238fc723d16ccd8e010d098d4f45f inherit pub_methods_classmdf_1_1_i_block"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdbad6ffc878074aecd665cfcadd795e inherit pub_methods_classmdf_1_1_i_block" id="r_afdbad6ffc878074aecd665cfcadd795e"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmdf_1_1_i_block.html#afdbad6ffc878074aecd665cfcadd795e">BlockType</a> () const =0</td></tr>
<tr class="memdesc:afdbad6ffc878074aecd665cfcadd795e inherit pub_methods_classmdf_1_1_i_block"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the block type.  <br /></td></tr>
<tr class="separator:afdbad6ffc878074aecd665cfcadd795e inherit pub_methods_classmdf_1_1_i_block"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a609068db61e1d97e219084e9cde992ad" id="r_a609068db61e1d97e219084e9cde992ad"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a609068db61e1d97e219084e9cde992ad">GetChannelValueUint</a> (const <a class="el" href="classmdf_1_1_i_channel.html">IChannel</a> &amp;channel, uint64_t sample, uint64_t array_index, <a class="el" href="structmdf_1_1_sr_value.html">SrValue</a>&lt; uint64_t &gt; &amp;value) const =0</td></tr>
<tr class="separator:a609068db61e1d97e219084e9cde992ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebc1304772803646b95f23be2eb23c99" id="r_aebc1304772803646b95f23be2eb23c99"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aebc1304772803646b95f23be2eb23c99">GetChannelValueInt</a> (const <a class="el" href="classmdf_1_1_i_channel.html">IChannel</a> &amp;channel, uint64_t sample, uint64_t array_index, <a class="el" href="structmdf_1_1_sr_value.html">SrValue</a>&lt; int64_t &gt; &amp;value) const =0</td></tr>
<tr class="separator:aebc1304772803646b95f23be2eb23c99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adeb2c8dd051d95695ab1e397ee35d2a0" id="r_adeb2c8dd051d95695ab1e397ee35d2a0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adeb2c8dd051d95695ab1e397ee35d2a0">GetChannelValueDouble</a> (const <a class="el" href="classmdf_1_1_i_channel.html">IChannel</a> &amp;channel, uint64_t sample, uint64_t array_index, <a class="el" href="structmdf_1_1_sr_value.html">SrValue</a>&lt; double &gt; &amp;value) const =0</td></tr>
<tr class="separator:adeb2c8dd051d95695ab1e397ee35d2a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Sample reduction (SR) blocks stores min, max and average values for the all samples or for an interval of samples values. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="abf7597e6a9c10138e56549d991b48fa5" name="abf7597e6a9c10138e56549d991b48fa5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf7597e6a9c10138e56549d991b48fa5">&#9670;&#160;</a></span>GetChannelValue()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void mdf::ISampleReduction::GetChannelValue </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmdf_1_1_i_channel.html">IChannel</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>channel</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>sample</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>array_index</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmdf_1_1_sr_value.html">SrValue</a>&lt; T &gt; &amp;</td>          <td class="paramname"><span class="paramname"><em>value</em></span>&#160;) const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">T</td><td>Type of vaöue </td></tr>
  </table>
  </dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">channel</td><td>Reference to the channel. </td></tr>
    <tr><td class="paramname">sample</td><td>Sample index. </td></tr>
    <tr><td class="paramname">array_index</td><td>Array index. Only used for an array channel. </td></tr>
    <tr><td class="paramname">value</td><td>Returns the SR value. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="adeb2c8dd051d95695ab1e397ee35d2a0" name="adeb2c8dd051d95695ab1e397ee35d2a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adeb2c8dd051d95695ab1e397ee35d2a0">&#9670;&#160;</a></span>GetChannelValueDouble()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mdf::ISampleReduction::GetChannelValueDouble </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmdf_1_1_i_channel.html">IChannel</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>channel</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>sample</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>array_index</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmdf_1_1_sr_value.html">SrValue</a>&lt; double &gt; &amp;</td>          <td class="paramname"><span class="paramname"><em>value</em></span>&#160;) const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns the value as a double value. </p>

</div>
</div>
<a id="aebc1304772803646b95f23be2eb23c99" name="aebc1304772803646b95f23be2eb23c99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aebc1304772803646b95f23be2eb23c99">&#9670;&#160;</a></span>GetChannelValueInt()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mdf::ISampleReduction::GetChannelValueInt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmdf_1_1_i_channel.html">IChannel</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>channel</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>sample</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>array_index</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmdf_1_1_sr_value.html">SrValue</a>&lt; int64_t &gt; &amp;</td>          <td class="paramname"><span class="paramname"><em>value</em></span>&#160;) const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>brief Returns the value as an integer. </p>

</div>
</div>
<a id="a609068db61e1d97e219084e9cde992ad" name="a609068db61e1d97e219084e9cde992ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a609068db61e1d97e219084e9cde992ad">&#9670;&#160;</a></span>GetChannelValueUint()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mdf::ISampleReduction::GetChannelValueUint </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmdf_1_1_i_channel.html">IChannel</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>channel</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>sample</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>array_index</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmdf_1_1_sr_value.html">SrValue</a>&lt; uint64_t &gt; &amp;</td>          <td class="paramname"><span class="paramname"><em>value</em></span>&#160;) const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>brief Returns the value as unsigned integer. </p>

</div>
</div>
<a id="aaf263125c3d92baa2b0331eccfe64a05" name="aaf263125c3d92baa2b0331eccfe64a05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf263125c3d92baa2b0331eccfe64a05">&#9670;&#160;</a></span>GetEngValue()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void mdf::ISampleReduction::GetEngValue </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmdf_1_1_i_channel.html">IChannel</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>channel</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>sample</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>array_index</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmdf_1_1_sr_value.html">SrValue</a>&lt; T &gt; &amp;</td>          <td class="paramname"><span class="paramname"><em>value</em></span>&#160;) const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">T</td><td>Type of value. </td></tr>
  </table>
  </dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">channel</td><td>Reference to the channel </td></tr>
    <tr><td class="paramname">sample</td><td>Sample index. </td></tr>
    <tr><td class="paramname">array_index</td><td>Array offset in case of array type. </td></tr>
    <tr><td class="paramname">value</td><td>Returns the SR sample value. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a50aa827624b8bb999b75dc1001bafba8" name="a50aa827624b8bb999b75dc1001bafba8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50aa827624b8bb999b75dc1001bafba8">&#9670;&#160;</a></span>Interval() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual double mdf::ISampleReduction::Interval </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The interval value. </dd></dl>

</div>
</div>
<a id="a59a41419de103742d10d9998b1c18dd4" name="a59a41419de103742d10d9998b1c18dd4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59a41419de103742d10d9998b1c18dd4">&#9670;&#160;</a></span>Interval() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mdf::ISampleReduction::Interval </td>
          <td>(</td>
          <td class="paramtype">double</td>          <td class="paramname"><span class="paramname"><em>interval</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Sets the interval value. Note that the value is dependent on the synchronization type. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">interval</td><td>Interval value. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ac5177be7def3af47757e4af5c9f77211" name="ac5177be7def3af47757e4af5c9f77211"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5177be7def3af47757e4af5c9f77211">&#9670;&#160;</a></span>NofSamples() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual uint64_t mdf::ISampleReduction::NofSamples </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Number of samples. </dd></dl>

</div>
</div>
<a id="a09a8bbaffb52181fd4c2d96653afd30b" name="a09a8bbaffb52181fd4c2d96653afd30b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09a8bbaffb52181fd4c2d96653afd30b">&#9670;&#160;</a></span>NofSamples() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mdf::ISampleReduction::NofSamples </td>
          <td>(</td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>nof_samples</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nof_samples</td><td>Number of sample values. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a8fa99a6b5443e4b0f4369767e97399f2" name="a8fa99a6b5443e4b0f4369767e97399f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8fa99a6b5443e4b0f4369767e97399f2">&#9670;&#160;</a></span>SyncType()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mdf::ISampleReduction::SyncType </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacemdf.html#aec7305e223ebad2eeff01cf4f7f9baa5">SrSyncType</a></td>          <td class="paramname"><span class="paramname"><em>type</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>Type of synchronization </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/mdf/<a class="el" href="isamplereduction_8h_source.html">isamplereduction.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>
